/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package Modelo;

import java.sql.ResultSet;

/**
 *
 * @author Andre Luiz
 */
public class Sabor {
    
    private String nome;
    private String ingredientes;
    private Integer codigo;
    private Integer codigo_categoria;
    private boolean removido ;
    // variaveis de auxilio na manipulação dos dados
    private Categoria categoria = new Categoria();

    public Sabor() {
    }

    public Sabor(String nome, String ingredientes, Integer codigo, Integer codigo_categoria) {
        this.nome = nome;
        this.ingredientes = ingredientes;
        this.codigo = codigo;
        this.codigo_categoria = codigo_categoria;
    }

    public Integer getCodigo() {
        return codigo;
    }

    public void setCodigo(Integer codigo) {
        this.codigo = codigo;
    }
    
    public void setCodigo(String codigo) {
        try{
            this.codigo = Integer.parseInt(codigo);
        }catch(Exception ex){}
    }

    public Integer getCodigo_categoria() {
        return codigo_categoria;
    }

    public void setCodigo_categoria(Integer codigo_categoria) {
        this.codigo_categoria = codigo_categoria;
    }
    
    public void setCodigo_categoria(String codigo_categoria) {
        try{
            this.codigo_categoria = Integer.parseInt( codigo_categoria);
        }catch(Exception ex ){}
    }

    public String getIngredientes() {
        return ingredientes;
    }
    
    public String getIngredientes_SQL() {
        return ingredientes.replace(",", "#");
    }
    
    public String getIngredientes_Visao() {
        return ingredientes.replace("#", ",");
    }

    public void setIngredientes(String ingredientes) {
        this.ingredientes = ingredientes;
    }

    public String getNome() {
        return nome;
    }

    public void setNome(String nome) {
        this.nome = nome;
    }

    public Categoria getCategoria() {
        return categoria;
    }

    public void setCategoria(Categoria categoria) {
        this.categoria = categoria;
    }

    public boolean isRemovido() {
        return removido;
    }

    public void setRemovido(boolean removido) {
        this.removido = removido;
    }

    @Override
    public String toString() {
        return "Sabor{" + "nome=" + nome + ", ingredientes=" + ingredientes + ", codigo=" + codigo + ", codigo_categoria=" + codigo_categoria + ", removido=" + removido + ", categoria=" + categoria + '}';
    }
    
    public String toStringSQL_Insert() {
        return "\"Sabor\"{" + "nome=" + nome + ", ingredientes=" + getIngredientes_SQL() + ", codigo_categoria=" + codigo_categoria + ", removido=" + removido + ",}";
    }
    
    public String toStringSQL_Update() {
        return "\"Sabor\"{" + "nome=" + nome + ", ingredientes=" + getIngredientes_SQL() + ", codigo=" + codigo + ", codigo_categoria=" + codigo_categoria + ", removido=" + removido + ",}";
    }
    
    public String toStringSQL_Remove() {
        return "\"Sabor\"{" + "removido=" + removido + ",}";
    }
    
    public boolean setALL(ResultSet rs, boolean nextInicial){
        try {
            if(nextInicial)
                rs.next();
            
            this.codigo = rs.getInt("codigo");
            this.codigo_categoria = rs.getInt("codigo_categoria");
            this.nome = rs.getString("nome");
            this.ingredientes = rs.getString("ingredientes");
            this.removido = rs.getBoolean("removido");
            
            return true;
       } catch (Exception ex) {
           ex.printStackTrace();
           System.out.println(ex.getMessage());
           return false;
       }
    }
}
